/*     */ package eos.moe.dragoncore;
/*     */ 
/*     */ import com.google.common.base.Predicate;
/*     */ import com.google.common.base.Predicates;
/*     */ import java.io.IOException;
/*     */ import java.util.Locale;
/*     */ import net.minecraft.client.Minecraft;
/*     */ import net.minecraft.client.gui.FontRenderer;
/*     */ import net.minecraft.client.gui.GuiScreen;
/*     */ import net.minecraft.client.renderer.BufferBuilder;
/*     */ import net.minecraft.client.renderer.GlStateManager;
/*     */ import net.minecraft.client.renderer.Tessellator;
/*     */ import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
/*     */ import net.minecraft.util.ChatAllowedCharacters;
/*     */ import net.minecraft.util.math.MathHelper;
/*     */ import org.yaml.snakeyamla.configuration.ConfigurationSection;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class od
/*     */   extends pi
/*     */ {
/*     */   private final FontRenderer ua;
/*  30 */   private String ia = "";
/*     */ 
/*     */   
/*     */   private bh ta;
/*     */ 
/*     */   
/*     */   private int c;
/*     */ 
/*     */   
/*     */   private bh r;
/*     */ 
/*     */   
/*     */   private boolean t;
/*     */ 
/*     */   
/*     */   private int d;
/*     */ 
/*     */   
/*     */   private int z;
/*     */ 
/*     */   
/*     */   private int i;
/*     */ 
/*     */   
/*  54 */   private int w = 14737632;
/*  55 */   private int q = 7368816;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*  61 */   private Predicate<String> g = Predicates.alwaysTrue();
/*     */   
/*     */   public od(vh vh1, ConfigurationSection configurationSection) {
/*  64 */     super(vh1, configurationSection);
/*  65 */     this.ua = (Minecraft.func_71410_x()).field_71466_p;
/*     */     
/*  67 */     this.ta = createMoLangParser("length", Integer.valueOf(32));
/*  68 */     this.ia = createMoLangParserString("text", "").z();
/*  69 */     this.t = createMoLangParser("focused", Boolean.valueOf(false)).z();
/*  70 */     this.r = createMoLangParser("drawBackground", Boolean.valueOf(true));
/*  71 */     if (!this.ia.isEmpty() && this.t) {
/*  72 */       Minecraft.func_71410_x().func_152344_a(() -> setCursorPosition(999));
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void updateCursorCounter() {
/*  81 */     this.c++;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setText(String str) {
/*  88 */     if (this.g.apply(str)) {
/*  89 */       if (str.length() > getMaxStringLength()) {
/*  90 */         this.ia = str.substring(0, getMaxStringLength());
/*     */       } else {
/*  92 */         this.ia = str;
/*     */       } 
/*  94 */       setCursorPositionEnd();
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public String getText() {
/* 102 */     return this.ia;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public String getSelectedText() {
/* 109 */     int i = Math.min(this.z, this.i);
/* 110 */     int j = Math.max(this.z, this.i);
/* 111 */     return this.ia.substring(i, j);
/*     */   }
/*     */   
/*     */   public void setValidator(Predicate<String> predicate) {
/* 115 */     this.g = predicate;
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public void writeText(String str) {
/*     */     int m;
/* 122 */     String str1 = "";
/* 123 */     String str2 = ChatAllowedCharacters.func_71565_a(str);
/* 124 */     int i = Math.min(this.z, this.i);
/* 125 */     int j = Math.max(this.z, this.i);
/* 126 */     int k = getMaxStringLength() - this.ia.length() - i - j;
/*     */     
/* 128 */     if (!this.ia.isEmpty()) {
/* 129 */       str1 = str1 + this.ia.substring(0, i);
/*     */     }
/*     */ 
/*     */ 
/*     */     
/* 134 */     if (k < str2.length()) {
/* 135 */       str1 = str1 + str2.substring(0, k);
/* 136 */       m = k;
/*     */     } else {
/* 138 */       str1 = str1 + str2;
/* 139 */       m = str2.length();
/*     */     } 
/*     */     
/* 142 */     if (!this.ia.isEmpty() && j < this.ia.length()) {
/* 143 */       str1 = str1 + this.ia.substring(j);
/*     */     }
/*     */     
/* 146 */     if (this.g.apply(str1)) {
/* 147 */       this.ia = str1;
/* 148 */       moveCursorBy(i - this.i + m);
/*     */     } 
/* 150 */     runAction("textChange");
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void deleteWords(int i) {
/* 158 */     if (!this.ia.isEmpty()) {
/* 159 */       if (this.i != this.z) {
/* 160 */         writeText("");
/*     */       } else {
/* 162 */         deleteFromCursor(getNthWordFromCursor(i) - this.z);
/*     */       } 
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void deleteFromCursor(int i) {
/* 172 */     if (!this.ia.isEmpty())
/*     */     {
/* 174 */       if (this.i != this.z) {
/* 175 */         writeText("");
/*     */       } else {
/* 177 */         boolean bool = (i < 0);
/* 178 */         int j = bool ? (this.z + i) : this.z;
/* 179 */         int k = bool ? this.z : (this.z + i);
/* 180 */         String str = "";
/*     */         
/* 182 */         if (j >= 0) {
/* 183 */           str = this.ia.substring(0, j);
/*     */         }
/*     */         
/* 186 */         if (k < this.ia.length()) {
/* 187 */           str = str + this.ia.substring(k);
/*     */         }
/*     */         
/* 190 */         if (this.g.apply(str)) {
/* 191 */           this.ia = str;
/*     */           
/* 193 */           if (bool) {
/* 194 */             moveCursorBy(i);
/*     */           }
/*     */         } 
/*     */ 
/*     */         
/* 199 */         runAction("textChange");
/*     */       } 
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public int getNthWordFromCursor(int i) {
/* 210 */     return getNthWordFromPos(i, getCursorPosition());
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public int getNthWordFromPos(int i, int j) {
/* 217 */     return getNthWordFromPosWS(i, j, true);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public int getNthWordFromPosWS(int i, int j, boolean bool) {
/* 224 */     int k = j;
/* 225 */     boolean bool1 = (i < 0);
/* 226 */     int m = Math.abs(i);
/*     */     
/* 228 */     for (int n = 0; n < m; n++) {
/* 229 */       if (!bool1) {
/* 230 */         int i1 = this.ia.length();
/* 231 */         k = this.ia.indexOf(' ', k);
/*     */         
/* 233 */         if (k == -1) {
/* 234 */           k = i1;
/*     */         } else {
/* 236 */           while (bool && k < i1 && this.ia.charAt(k) == ' ') {
/* 237 */             k++;
/*     */           }
/*     */         } 
/*     */       } else {
/* 241 */         while (bool && k > 0 && this.ia.charAt(k - 1) == ' ') {
/* 242 */           k--;
/*     */         }
/*     */         
/* 245 */         while (k > 0 && this.ia.charAt(k - 1) != ' ') {
/* 246 */           k--;
/*     */         }
/*     */       } 
/*     */     } 
/*     */     
/* 251 */     return k;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void moveCursorBy(int i) {
/* 258 */     setCursorPosition(this.i + i);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setCursorPosition(int i) {
/* 265 */     this.z = i;
/* 266 */     int j = this.ia.length();
/* 267 */     this.z = MathHelper.func_76125_a(this.z, 0, j);
/* 268 */     setSelectionPos(this.z);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setCursorPositionZero() {
/* 275 */     setCursorPosition(0);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setCursorPositionEnd() {
/* 282 */     setCursorPosition(this.ia.length());
/*     */   }
/*     */   
/*     */   public boolean keyTyped(char c, int i) throws IOException {
/* 286 */     textboxKeyTyped(c, i);
/* 287 */     return this.t;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean textboxKeyTyped(char c, int i) {
/* 295 */     if (!this.t)
/* 296 */       return false; 
/* 297 */     if (GuiScreen.func_175278_g(i)) {
/* 298 */       setCursorPositionEnd();
/* 299 */       setSelectionPos(0);
/* 300 */       return true;
/* 301 */     }  if (GuiScreen.func_175280_f(i)) {
/* 302 */       GuiScreen.func_146275_d(getSelectedText());
/* 303 */       return true;
/* 304 */     }  if (GuiScreen.func_175279_e(i)) {
/* 305 */       if (this.oa.z()) {
/* 306 */         writeText(GuiScreen.func_146277_j());
/*     */       }
/*     */       
/* 309 */       return true;
/* 310 */     }  if (GuiScreen.func_175277_d(i)) {
/* 311 */       GuiScreen.func_146275_d(getSelectedText());
/*     */       
/* 313 */       if (this.oa.z()) {
/* 314 */         writeText("");
/*     */       }
/*     */       
/* 317 */       return true;
/*     */     } 
/* 319 */     switch (i) {
/*     */       case 14:
/* 321 */         if (GuiScreen.func_146271_m()) {
/* 322 */           if (this.oa.z()) {
/* 323 */             deleteWords(-1);
/*     */           }
/* 325 */         } else if (this.oa.z()) {
/* 326 */           deleteFromCursor(-1);
/*     */         } 
/* 328 */         return true;
/*     */       
/*     */       case 199:
/* 331 */         if (GuiScreen.func_146272_n()) {
/* 332 */           setSelectionPos(0);
/*     */         } else {
/* 334 */           setCursorPositionZero();
/*     */         } 
/* 336 */         return true;
/*     */       
/*     */       case 203:
/* 339 */         if (GuiScreen.func_146272_n()) {
/* 340 */           if (GuiScreen.func_146271_m()) {
/* 341 */             setSelectionPos(getNthWordFromPos(-1, getSelectionEnd()));
/*     */           } else {
/* 343 */             setSelectionPos(getSelectionEnd() - 1);
/*     */           } 
/* 345 */         } else if (GuiScreen.func_146271_m()) {
/* 346 */           setCursorPosition(getNthWordFromCursor(-1));
/*     */         } else {
/* 348 */           moveCursorBy(-1);
/*     */         } 
/*     */         
/* 351 */         return true;
/*     */       
/*     */       case 205:
/* 354 */         if (GuiScreen.func_146272_n()) {
/* 355 */           if (GuiScreen.func_146271_m()) {
/* 356 */             setSelectionPos(getNthWordFromPos(1, getSelectionEnd()));
/*     */           } else {
/* 358 */             setSelectionPos(getSelectionEnd() + 1);
/*     */           } 
/* 360 */         } else if (GuiScreen.func_146271_m()) {
/* 361 */           setCursorPosition(getNthWordFromCursor(1));
/*     */         } else {
/* 363 */           moveCursorBy(1);
/*     */         } 
/*     */         
/* 366 */         return true;
/*     */       
/*     */       case 207:
/* 369 */         if (GuiScreen.func_146272_n()) {
/* 370 */           setSelectionPos(this.ia.length());
/*     */         } else {
/* 372 */           setCursorPositionEnd();
/*     */         } 
/*     */         
/* 375 */         return true;
/*     */       
/*     */       case 211:
/* 378 */         if (GuiScreen.func_146271_m()) {
/* 379 */           if (this.oa.z()) {
/* 380 */             deleteWords(1);
/*     */           }
/* 382 */         } else if (this.oa.z()) {
/* 383 */           deleteFromCursor(1);
/*     */         } 
/*     */         
/* 386 */         return true;
/*     */     } 
/*     */     
/* 389 */     if (ChatAllowedCharacters.func_71566_a(c)) {
/* 390 */       if (this.oa.z()) {
/* 391 */         writeText(Character.toString(c));
/*     */       }
/*     */       
/* 394 */       return true;
/*     */     } 
/* 396 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void runClick(int i, int j, int k) {
/* 404 */     mouseClicked(i, j, k, true);
/* 405 */     super.runClick(i, j, k);
/*     */   }
/*     */ 
/*     */   
/*     */   public void runUnClick(int i, int j, int k) {
/* 410 */     mouseClicked(i, j, k, false);
/* 411 */     super.runUnClick(i, j, k);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean mouseClicked(int i, int j, int k, boolean bool) {
/* 419 */     setFocused(bool);
/*     */ 
/*     */     
/* 422 */     if (this.t && bool && k == 0) {
/*     */ 
/*     */       
/* 425 */       int m = (int)(i - getXPos() + this.c);
/* 426 */       m = (int)(m / this.ia.z());
/*     */       
/* 428 */       if (getEnableBackgroundDrawing()) {
/* 429 */         m -= 4;
/*     */       }
/*     */       
/* 432 */       String str = this.ua.func_78269_a(this.ia.substring(this.d), this.p.z());
/* 433 */       setCursorPosition(this.ua.func_78269_a(str, m).length() + this.d);
/* 434 */       return true;
/*     */     } 
/* 436 */     return false;
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public void render(int i, int j) {
/* 442 */     drawTextBox();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void drawTextBox() {
/* 449 */     int i = 0;
/* 450 */     int j = 0;
/* 451 */     int k = this.p.z();
/* 452 */     int m = this.n.z();
/* 453 */     boolean bool1 = getEnableBackgroundDrawing();
/* 454 */     if (bool1) {
/* 455 */       jo.v((i - 1), (j - 1), (k + 1), (m + 1), -6250336);
/* 456 */       jo.v(i, j, k, m, -16777216);
/*     */     } 
/*     */     
/* 459 */     int n = this.oa.z() ? this.w : this.q;
/* 460 */     int i1 = this.z - this.d;
/* 461 */     int i2 = this.i - this.d;
/* 462 */     String str = this.ua.func_78269_a(this.ia.substring(this.d), k);
/* 463 */     boolean bool2 = (i1 >= 0 && i1 <= str.length());
/* 464 */     boolean bool3 = (this.t && this.c / 6 % 2 == 0 && bool2);
/* 465 */     int i3 = bool1 ? (i + 4) : i;
/* 466 */     int i4 = bool1 ? (j + (m - 8) / 2) : j;
/* 467 */     int i5 = i3;
/*     */     
/* 469 */     if (i2 > str.length()) {
/* 470 */       i2 = str.length();
/*     */     }
/*     */     
/* 473 */     if (!str.isEmpty()) {
/* 474 */       String str1 = bool2 ? str.substring(0, i1) : str;
/*     */       
/* 476 */       i5 = this.ua.func_78276_b(str1, i3, i4, n);
/*     */     } 
/*     */     
/* 479 */     boolean bool4 = (this.z < this.ia.length() || this.ia.length() >= getMaxStringLength());
/* 480 */     int i6 = i5;
/*     */     
/* 482 */     if (!bool2) {
/* 483 */       i6 = (int)((i1 > 0) ? (i3 + this.p.z()) : i3);
/* 484 */     } else if (bool4) {
/* 485 */       i6 = i5 - 1;
/*     */     } 
/*     */ 
/*     */     
/* 489 */     if (!str.isEmpty() && bool2 && i1 < str.length()) {
/* 490 */       i5 = this.ua.func_78276_b(str.substring(i1), i5, i4, n);
/*     */     }
/*     */ 
/*     */     
/* 494 */     if (bool3) {
/* 495 */       if (bool4) {
/* 496 */         jo.v(i6, (i4 - 1), 1.0D, (1 + this.ua.field_78288_b), -3092272);
/*     */       } else {
/* 498 */         this.ua.func_175063_a("_", i6, i4, n);
/*     */       } 
/*     */     }
/*     */ 
/*     */     
/* 503 */     if (i2 != i1) {
/* 504 */       int i7 = i3 + this.ua.func_78256_a(str.substring(0, i2));
/*     */       
/* 506 */       v(i6, i4 - 1, i7 - 1, i4 + 1 + this.ua.field_78288_b);
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public int getMaxStringLength() {
/* 556 */     return this.ta.z();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public int getCursorPosition() {
/* 563 */     return this.z;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean getEnableBackgroundDrawing() {
/* 570 */     return this.r.z();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setTextColor(int i) {
/* 577 */     this.w = i;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setDisabledTextColour(int i) {
/* 584 */     this.q = i;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setFocused(boolean bool) {
/* 591 */     if (bool && !this.t) {
/* 592 */       this.c = 0;
/*     */     }
/*     */     
/* 595 */     this.t = bool;
/*     */     
/* 597 */     if ((Minecraft.func_71410_x()).field_71462_r != null) {
/* 598 */       (Minecraft.func_71410_x()).field_71462_r.func_193975_a(bool);
/*     */     }
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean isFocused() {
/* 606 */     return this.t;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public int getSelectionEnd() {
/* 613 */     return this.i;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public void setSelectionPos(int i) {
/* 622 */     int j = this.ia.length();
/*     */     
/* 624 */     if (i > j) {
/* 625 */       i = j;
/*     */     }
/*     */     
/* 628 */     if (i < 0) {
/* 629 */       i = 0;
/*     */     }
/*     */     
/* 632 */     this.i = i;
/*     */     
/* 634 */     if (this.ua != null) {
/* 635 */       if (this.d > j) {
/* 636 */         this.d = j;
/*     */       }
/*     */       
/* 639 */       int k = this.p.z();
/* 640 */       String str = this.ua.func_78269_a(this.ia.substring(this.d), k);
/* 641 */       int m = str.length() + this.d;
/*     */       
/* 643 */       if (i == this.d) {
/* 644 */         this.d -= this.ua.func_78262_a(this.ia, k, true).length();
/*     */       }
/*     */       
/* 647 */       if (i > m) {
/* 648 */         this.d += i - m;
/* 649 */       } else if (i <= this.d) {
/* 650 */         this.d -= this.d - i;
/*     */       } 
/*     */       
/* 653 */       this.d = MathHelper.func_76125_a(this.d, 0, j);
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public Object getValue(String str) {
/* 660 */     switch (str.toLowerCase(Locale.ROOT)) {
/*     */       case "type_":
/*     */       case "type":
/* 663 */         return "textbox";
/*     */       case "length":
/* 665 */         return this.ta.z();
/*     */       case "drawbackground":
/* 667 */         return this.r.z() ? "1" : "0";
/*     */       case "text_":
/*     */       case "text":
/* 670 */         return this.ia;
/*     */       case "focused_":
/*     */       case "focused":
/* 673 */         return this.t ? "1" : "0";
/*     */ 
/*     */       
/*     */       case "length_":
/* 677 */         return this.ta.h();
/*     */       case "drawbackground_":
/* 679 */         return this.r.h();
/*     */     } 
/* 681 */     return super.getValue(str);
/*     */   }
/*     */ 
/*     */   
/*     */   public void setValue(String str, Object object) {
/* 686 */     switch (str.toLowerCase(Locale.ROOT)) {
/*     */       case "length":
/* 688 */         this.ta = toMolangParser(object);
/*     */         return;
/*     */       case "drawbackground":
/* 691 */         this.r = toMolangParser(object);
/*     */         return;
/*     */       case "text_write":
/* 694 */         Minecraft.func_71410_x().func_152344_a(() -> writeText(toMolangParser((String)object).z()));
/*     */         return;
/*     */ 
/*     */       
/*     */       case "text":
/* 699 */         Minecraft.func_71410_x().func_152344_a(() -> setText(toMolangParser((String)object).z()));
/*     */         return;
/*     */ 
/*     */       
/*     */       case "focused":
/* 704 */         setFocused(toMolangParser(object).z());
/*     */         return;
/*     */     } 
/* 707 */     super.setValue(str, object);
/*     */   }
/*     */ }


/* Location:              D:\fanbian\[D][龙之核心]DragonCore-2.6.0.3.jar!\eos\moe\dragoncore\od.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */